<?php 
/**
 * 
 * Deze klasse handeld alle handelingen af die te maken hebben met
 * folders. Zoals; het verwijderen en aanmaken van nieuwe folders.
 * code 0 = error
 * code 1 = success
 * 
 * @author Ferry Guikema
 * 
 */
class File extends File_abs {
	
	function __construct($webfy){
		parent::__construct($webfy);
	} # ctor
	
	/**
	 * 
	 * Het aanmaken van nieuwe bestanden wordt 
	 * nog niet ondersteund
	 * @param String $filename
	 */
	public function create($filename)
	{
		$this->webfy->out = Array('code'	=> '0',
								  'melding' => $this->webfy->settings->file['created']);
	} # func create
	
	/**
	 * 
	 * Verwijder een bestand
	 * @param String $file
	 */
	public function remove($file)
	{
		/*** controleer gebruikers rechten ***/
		if ( !$this->webfy->usercontrol->hasRights($this->getDir($file), 'delete') )
		{
			$this->webfy->out = Array('code'	=> '0',
						  'melding'	=> $this->webfy->settings->userrights['delete']);
		}
		/*** verwijder bestand ***/
		else if ( unlink( $this->webfy->settings->global['root_path'] .'/'. $file ) )
		{
			$this->webfy->out = Array('code'	=> '1',
									  'melding' => $this->webfy->settings->file['removed']);
		}
		else
		/*** bestand kon niet worden verwijder om wat voor reden dan ook ***/
		{
			$this->webfy->out = Array('code'	=> '0',
									  'melding' => $this->webfy->settings->file['not_removed']);
		}
	} # func remove
	
	/**
	*
	* Kopier een bestand / folder
	* @param String $file
	* @param String $new_filename
	*/
	public function copy( $file, $newFile )
	{
		/*** controleer gebruikers rechten ***/
		if ( !$this->webfy->usercontrol->hasRights($this->getDir($file), 'read') )
		{
			$this->webfy->out = Array('code'	=> '0',
						  'melding'	=> $this->webfy->settings->userrights['read']);
		}
		/*** controleer gebruikers rechten ***/
		else if ( !$this->webfy->usercontrol->hasRights($this->getDir($newFile), 'write') )
		{
			$this->webfy->out = Array('code'	=> '0',
						  'melding'	=> $this->webfy->settings->userrights['write']);
		}
		/*** kopier een bestand ***/
		else if ( copy( $this->webfy->settings->global['root_path'] .'/'. $file, $this->webfy->settings->global['root_path'] .'/'. $newFile) )
		{
			$this->webfy->out = Array('code'	=> '1',
									  'melding' => $this->webfy->settings->file['copied']);
		}
		else
		/*** bestand kon niet worden gekopierd om wat voor reden dan ook ***/
		{
			$this->webfy->out = Array('code'	=> '0',
									  'melding' => $this->webfy->settings->file['not_copied']);
		}
	} # func copy
}
?>
